package com.itheima.handler;

import com.aliyun.oss.ServiceException;
import com.itheima.pojo.Result;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理器
 */
@RestControllerAdvice
public class GlobalExceptionHandler {

    // 处理删除异常
    @ExceptionHandler
    public Result ex(ServiceException e){ // 方法形参中指定能够处理的异常类型
        e.printStackTrace(); // 打印堆栈中的异常信息
        String message = e.getMessage().split("\n")[0]; // 获取异常信息中的第一行信息(自定义输出信息)
        System.out.println(message);
        // 捕获到异常之后，响应一个标准的Result
        return Result.error(message);
    }
    // 处理异常
    @ExceptionHandler
    public Result ex(Exception e){// 方法形参中指定能够处理的异常类型
        e.printStackTrace();// 打印堆栈中的异常信息
        // 捕获到异常之后，响应一个标准的Result
        return Result.error("对不起,操作失败,请联系管理员");
    }

}